package org.lora.mvc;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.lora.exception.LoraCoreException;
import org.lora.mvc.entity.ActionMethodEntity;

/**
 * <p>
 * Title:IMvcService
 * </p>
 * <p>
 * Desription:MVC处理Service接口
 * </p>
 * Create Time:2016年7月5日 下午7:18:20
 * 
 * @author Bladnir@outlook.com
 *         <p>
 *         History:
 *         </p>
 *         2016年7月5日 Bladnir Create</br>
 */
public interface IMvcService {

	/**
	 * 根据请求路径 封装Map 便于DistributeServlet根据请求路径分发请求
	 * 
	 * @param actionObjectList
	 * @return
	 * @throws LoraCoreException
	 * @throws Exception
	 */
	public Map<String, ActionMethodEntity> getActionMap(List<Object> actionObjectList) throws NoSuchMethodException;

	/**
	 * 处理请求
	 * 
	 * @param request
	 * @param response
	 * @throws LoraCoreException
	 * @throws Exception
	 */
	public void excuteRequest(HttpServletRequest request, HttpServletResponse response) throws Exception;

}
